package com.wy._07Thread.atomicOperation;

/**
 * @author 吴宇~
 * @motto 我亦无他，唯手熟尔。
 * @edition jdk1.8
 * @reflection 0-1 喧闹任其喧闹，自由我自为之，我自风情万种，与世无争。
 * @date 2024/05/09/12:28
 * @target 心若有所向往，何惧道阻且长
 */
public class AtomicIntegerDemo {
    private int initValue;
    private int currentNumber = 0;
//    调用次数，指的是调用获取数据的次数
    private int NumberOfCalls=0;

    public AtomicIntegerDemo(int initValue) {
        this.initValue = initValue;
        this.currentNumber = initValue;
    }

    public synchronized int getAndIncrement() {
        if (NumberOfCalls==0){
            NumberOfCalls++;
            return currentNumber;
        }
        currentNumber++;
        NumberOfCalls++;
        return currentNumber;
    }

    public int getInitValue() {
        return initValue;
    }

    public int getNumberOfCalls() {
        return NumberOfCalls;
    }
}
